Rewrite Example 05 figures 3-6 for MATLAB layout parity#63
Closed
iahncajigas wants to merge 4 commits intomainfrom
Closed
Rewrite Example 05 figures 3-6 for MATLAB layout parity#63iahncajigas wants to merge 4 commits intomainfrom
iahncajigas wants to merge 4 commits intomainfrom
Conversation
Part B (Figures 3-4): - Replace sinusoidal trajectory with minimum-jerk reaching dynamics (cosine acceleration toward target), matching MATLAB exactly - Fix encoding parameters: delta=0.001, mu=log(10*delta)+randn, beta=10*(rand-0.5) uniform velocity tuning - Figure 3: 4x2 layout with reach path, pos/vel traces, raster, CIF - Figure 4: overlaid decoded trajectories (20 runs, blue=goal, green=free) Part C (Figures 5-6): - Load 6-state fixture (paperHybridFilterExample.mat) with 2D hold and 6D reach modes, matching MATLAB's different-dimension-per-mode hybrid filter architecture - Figure 5: 4x2 layout with reach path, pos/vel traces, raster, discrete state (N/M) - Figure 6: 4x3 layout with state estimation, P(M|data), 2D decoded path, per-component traces — averaged over 20 simulations with both goal-directed and free hybrid decoding Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The likelihood computation in PPHybridFilterLinear and PPHybridFilter used sqrt(det(W_u)) / max(sqrt(det(W_p)), 1e-15) which catastrophically fails for ≥6-D states: with eigenvalues ~1e-10, det ≈ 1e-46 and sqrt(det) ≈ 1e-23 — far below the 1e-15 floor — collapsing the reach model likelihood to zero permanently. Replace with np.linalg.slogdet() log-space computation that matches MATLAB's raw det ratio while avoiding overflow/underflow. Verified: 100% discrete-state agreement with MATLAB (fixed) on the paperHybridFilterExample fixture for both free and goal-directed cases. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Regenerated all 24 figures across 5 paper examples with latest code - Re-executed all 29 help notebooks (helpfiles) with fresh outputs - Added example figure exports to examples/paper/figures/ (new) - Updated docs/figures/ gallery with cleaned manifest-matching figures - Fixed test_network_tutorial_builder to strip execution metadata Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Documentation links now point to actual Sphinx-generated paths (help/index.html, help/paper_overview.html, etc.) instead of non-existent flat filenames (NeuralSpikeAnalysis_top.html, etc.) - Fix parity report link: parity/parity_report.md -> parity/report.md - Add parity dashboard and API reference links - Remove stale DocumentationSetup.md source page reference Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
paperHybridFilterExample.mat) with 2D hold / 6D reach modes, 4×2 setup figure, 4×3 averaged 20-run decoding figure with goal-directed + free comparisonTest plan
--export-figures🤖 Generated with Claude Code